package com.bgs.engineering.api.syslog.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

/**
 * 异常日志实体
 *
 * @auther zcy
 * @data 2023/3/22 13:35
 */
@Data
@ApiModel("异常日志模型")
public class SysLogExceptionModel implements Serializable {

  /**
   * 主键id
   */
  @ApiModelProperty("主键id新增时无需填写")
  private Integer id;
  /**
   * 请求参数
   */
  @ApiModelProperty("请求参数")
  private String requestParam;
  /**
   * 名称
   */
  @ApiModelProperty("名称")
  private String name;
  /**
   * 错误日志
   */
  @ApiModelProperty("错误日志")
  private String message;
  /**
   * 用户id
   */
  @NotBlank(message = "用户名id不能为空")
  @ApiModelProperty("用户id")
  private String userId;
  /**
   * 操作用户
   */
  @NotBlank(message = "用户名不能为空")
  @ApiModelProperty("操作用户")
  private String userName;
  /**
   * 方法
   */
  @ApiModelProperty("方法")
  private String method;
  /**
   * ip地址
   */
  @ApiModelProperty("ip地址")
  private String ip;
  /**
   * 操作uri
   */
  @ApiModelProperty("操作uri")
  private String uri;
  /**
   * 增加日期
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//JsonFormat是出参格式化。
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
  @ApiModelProperty("增加日期")
  private Date createTime;

  /**
   * 开始时间
   */
  @ApiModelProperty("开始时间")
  private String startTime;
  /**
   * 结束时间
   */
  @ApiModelProperty("结束时间")
  private String endTime;
  /**
   * 项目版本
   */
  @ApiModelProperty("项目版本")
  private String version;

}
